iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0
Cloud Native

新興k8s工作流flyte與MLOps。系列 第 2

Day 2: Flyte安裝與沙盒環境

  • 分享至 

  • xImage
  •  

目前我只有一台window主機,所以我先使用wsl環境介紹,當然如果你有Ubuntu環境會更好。
前置安裝:

  1. kubectl安裝文檔
  2. k9s
  3. docker安裝文檔
  4. uv安裝文檔
  5. flytectl安裝

在docker中啟用k3s,由flyte官方提供之沙盒開發環境。
並使用flyte grpc endpoint設定檔(FLYTECTL_CONFIG)

# 如果你的會卡住請加上--disable-agent,或是使用k9s將agent服務重啟。
flytectl demo start
export FLYTECTL_CONFIG=~/.flyte/config-sandbox.yaml

k3s裡面安裝如下元件。

  1. flyte-binary(flyte元件)
  2. docker-registry(地端版的docker映像庫)
  3. enovy(ingress服務)
  4. minio(s3服務)
    https://ithelp.ithome.com.tw/upload/images/20250905/20178305iONtoDk1LO.png

建立環境。

uv tool install flytekit

撰寫第一份工作流。(mean_value_wf.py)

import flytekit as fl
from typing import List
import random

@fl.task()
def gen_nums(low: int, high: int, length: int) -> List[int]:
    return [random.randint(low, high) for _ in range(length)]

@fl.task()
def mean(nums: List[int]) -> float:
    return sum(nums) / len(nums)

@fl.workflow()
def mean_val_wf(low: int = 0, high: int = 100, length: int = 100) -> float:
    arr = gen_nums(low, high, length)
    mean_val = mean(arr)
    return mean_val

隨後進行驗證並提交。

#地端運行
pyflyte run mean_value_wf.py mean_val_wf

#向註冊並運行flyte admin
pyflyte run --remote mean_value_wf.py mean_val_wf

https://ithelp.ithome.com.tw/upload/images/20250906/20178305rgiHBZ11yE.png


上一篇
Day 1 機器學習與資料工程的超強開源組合介紹
下一篇
Day 3: Reference tasks打造高效團隊協作:任務流程、相互參照與版本控制
系列文
新興k8s工作流flyte與MLOps。4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言